CAD software assists designers during many parts of the design of an electronic apparatus, implementation of a circuit, or using the apparatus. Examples might include IC design or implementing a user's circuit using the resources within a PLD.
One aspect of the design typically relates to routing and placement of the design. For example, a user might synthesize his or her circuit, and then wish to route the various resources used to implement the design, and to place the resources within the floorplan of the chip. Traditionally, the placement of the resources has been computationally intensive. Although the speed of processing has steadily increased, so has the size and complexity of the CAD problems. A need therefore exists for more efficient and optimal CAD techniques.